package edu.ccut.titan.tag.report.design;

import java.util.ArrayList;
import java.util.List;

public class CrosstabInfo {
	private String header;
	private NoDataCellInfo noDataCellInfo = new NoDataCellInfo();
	private List<RowGroupInfo> rowGroupInfos = new ArrayList<RowGroupInfo>();
	private List<ColumnGroupInfo> columnGroupInfos = new ArrayList<ColumnGroupInfo>();
	private List<CellInfo> cellInfos = new ArrayList<CellInfo>();
	private List<MeasureInfo> measureInfos = new ArrayList<MeasureInfo>();

	public void addRowGroupInfo(RowGroupInfo rowGroupInfo) {
		rowGroupInfos.add(rowGroupInfo);
	}

	public void addColumnGroupInfo(ColumnGroupInfo columnGroupInfo) {
		columnGroupInfos.add(columnGroupInfo);
	}

	public void addCellInfo(CellInfo cellInfo) {
		cellInfos.add(cellInfo);
	}

	public void addMeasureInfo(MeasureInfo measureInfo) {
		measureInfos.add(measureInfo);
	}

	public void addOnDataCell(NoDataCellInfo noDataCellInfo) {
		this.noDataCellInfo = noDataCellInfo;
	}

	public String getHeader() {
		return header;
	}

	public void setHeader(String header) {
		this.header = header;
	}

	public List<RowGroupInfo> getRowGroupInfos() {
		return rowGroupInfos;
	}

	public void setRowGroupInfos(List<RowGroupInfo> rowGroupInfos) {
		this.rowGroupInfos = rowGroupInfos;
	}

	public List<ColumnGroupInfo> getColumnGroupInfos() {
		return columnGroupInfos;
	}

	public void setColumnGroupInfos(List<ColumnGroupInfo> columnGroupInfos) {
		this.columnGroupInfos = columnGroupInfos;
	}

	public List<CellInfo> getCellInfos() {
		return cellInfos;
	}

	public void setCellInfos(List<CellInfo> cellInfos) {
		this.cellInfos = cellInfos;
	}

	public List<MeasureInfo> getMeasureInfos() {
		return measureInfos;
	}

	public void setMeasureInfos(List<MeasureInfo> measureInfos) {
		this.measureInfos = measureInfos;
	}

	public NoDataCellInfo getOnDataCellInfo() {
		return noDataCellInfo;
	}

	public void setOnDataCellInfo(NoDataCellInfo onDataCellInfo) {
		this.noDataCellInfo = onDataCellInfo;
	}

}
